package com.tp2.log121.framework;

import java.util.ArrayList;
import java.util.Collections;

public class CollectionJoueur {
	private ArrayList<Joueur> joueurs;
	private int nombreJoueur = 0;
	
	public CollectionJoueur(ArrayList<String> noms) {
		joueurs = new ArrayList<Joueur>();		

		creerJoueurs(noms);
	}
	
	public CollectionJoueur() {
		joueurs = new ArrayList<Joueur>();
	}

	private void creerJoueurs(ArrayList<String> noms) {
		if (noms != null) {
			for (int i = 0; i < noms.size(); i++) {
				joueurs.add(new Joueur(noms.get(i)));
				nombreJoueur++;
			}
		}		
	}
	
	public void ajouterJoueur(Joueur joueur) {
		joueurs.add(joueur);
		nombreJoueur++;
	}
	
	public IterateurJoueur creerIterateur() {
		return new IterateurJoueur(joueurs.listIterator());
	}
	
	public Joueur getJoueur(int index) {
		return joueurs.get(index);
	}
	
	public int getNombreJoueurs() {
		return nombreJoueur;
	}
	
	@SuppressWarnings("unchecked")
	public ArrayList<Joueur> getJoueursParScoreDecroissant() {
		ArrayList<Joueur> copieListeJoueurs = (ArrayList<Joueur>) joueurs.clone();
		Collections.sort(copieListeJoueurs);
		Collections.reverse(copieListeJoueurs);
		return copieListeJoueurs;
	}
}
